Writing tests which illustrate how to use third party code
Learning tests can highlight unexpected changes in third party code
Don’t interact with third parties directly
Define interfaces you wish existed, then do the bloody work of making them interop with their external/third party implementations
Refer to third parties as little as possible using adapters